package com.ruoyi.saleReturn.mapper;

import com.ruoyi.purchaseReturn.domain.PurchaseReturnModel;
import com.ruoyi.purchaseReturn.domain.PurchaseReturnOrder;
import com.ruoyi.sale.domain.SaleGoodsModel;
import com.ruoyi.sale.domain.SaleorderOrder;
import com.ruoyi.saleReturn.domain.SaleReturnModel;
import com.ruoyi.saleReturn.domain.SaleReturnOrder;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 【请填写功能名称】Mapper接口
 *
 * @author jndj
 * @date 2022-06-17
 */
@Mapper
public interface SaleReturnMapper
{
    public SaleReturnOrder selectSaleReturnOrderById(Long saleReturnModelId);

    public List<SaleReturnOrder> selectSaleReturnOrderList(SaleReturnOrder nytSaleReturnModel);

    public int insertSaleReturnOrder(SaleReturnOrder nytSaleReturnModel);

    public int updateSaleReturnOrder(SaleReturnOrder nytSaleReturnModel);

    public int deleteSaleReturnOrderById(Long saleReturnModelId);

    public int deleteSaleReturnOrderByIds(String[] saleReturnModelIds);

    public SaleReturnModel selectSaleReturnModelById(Long saleReturnModelId);

    public List<SaleReturnModel> selectSaleReturnModelList(SaleReturnModel nytSaleReturnModel);

    public int insertSaleReturnModel(SaleReturnModel nytSaleReturnModel);

    public int updateSaleReturnModel(SaleReturnModel nytSaleReturnModel);

    public int deleteSaleReturnModelById(@Param("saleReturnModelId") Long saleReturnModelId);

    public int deleteSaleReturnModelByIds(String[] saleReturnModelIds);

    List<SaleGoodsModel> selectShowSaleGoodsModelById(Long saleGoodsId);

    SaleGoodsModel selectSaleGoodsModel(HashMap<Object, Object> hashMap);

    List<PurchaseReturnOrder> selectPurchaseReturnList(PurchaseReturnOrder purchaseReturnOrder);

    List<PurchaseReturnModel> selectShowPurchaseReturnModelById(Long purchaseReturnId);

    SaleReturnOrder selectSaleReturnOrderAndModelById(Long saleReturnId);

    List<SaleReturnOrder> selectSaleReturnOrderListCustObj(Long companyId);

    List<SaleorderOrder> selectPurchaseReturnCustObj(Long companyId);

    Long querypreviousId(Map<String, Object> params);

    Long queryNextId(Map<String, Object> params);

    List<Map<String, Object>> pendingReview(@Param("deptID") Long deptID);
}
